Standard ML as a Meta-Programming Language
نویسنده
چکیده
Meta-programming languages, or program generators, are languages whose programs produce programs in other languages. We show how Standard ML makes an excellent meta-programming language, by adding appropriate program-valued | by which we mean string-valued | operations for each domain. We do so by giving four examples of meta-programming languages: a top-down parser generator; a \geometric region server" language modelled on one developed at Yale; a version of the \Message Speciication Language," developed at Oregon Graduate Institute; and a pretty-printing speciication language. Embedding meta-programming languages in ML in this way is easy to do, and the result is a language that, unlike most meta-programming languages, is higher-order.
منابع مشابه
System Description: Twelf - A Meta-Logical Framework for Deductive Systems
Twelf is a meta-logical framework for the specification, implementation, and meta-theory of deductive systems from the theory of programming languages and logics. It relies on the LF type theory and the judgments-as-types methodology for specification [HHP93], a constraint logic programming interpreter for implementation [Pfe91], and the meta-logic M2 for reasoning about object languages encode...
متن کاملMeta-programming Tools for Ml
Compile-time reeective ML (CRML) is an extension to Standard ML providing a metalanguage for program manipulationn10]. The original motivation was the automatic generation of map and fold like combinators for arbitrary datatypess4, 9]. The mechanisms developed to achieve this are far more general than we at rst realized, providing the foundation for a rich class of language extensions expressed...
متن کاملSystem Description: Twelf | a Meta-logical Framework for Deductive Systems 1 the Twelf System
Twelf is a meta-logical framework for the speciication, implementation , and meta-theory of deductive systems from the theory of programming languages and logics. It relies on the LF type theory and the judgments-as-types methodology for speciication HHP93], a constraint logic programming interpreter for implementation Pfe91], and the meta-logic M2 for reasoning about object languages encoded i...
متن کاملA Critique of Standard ML
Standard ML is an excellent language for many kinds of programming. It is safe, efcient, suitably abstract, and concise. There are many aspects of the language that work well. However, nothing is perfect: Standard ML has a few shortcomings. In some cases there are obvious solutions, and in other cases further research is required. The Meta-Language of the Edinburgh LCF theorem-proving system [1...
متن کاملDML - a meta-language and system for the generation of practical and efficient compilers from denotational specifications
DML, the Denotational Meta Language, is a specification language and a compiler generation tool for producing practical and efficient compilers from Denotational Semantics specifications. This means that code emitted from generated compilers should be product quality, and that generated compilers should have reasonable compilation speed, and interface well with standard frontends and back-ends....
متن کامل